package cn.cl;

import com.alibaba.fastjson.JSONObject;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Transaction;

/**
 * 标题：
 * 作者：何处是归程
 * 时间：2020/4/10 - 8:52
 */
public class TestTX {
	public static void main(String[] args) {
		Jedis jedis = new Jedis("127.0.0.1", 6379);
		System.out.println("清空数据：" + jedis.flushDB());
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("hello", "world");
		jsonObject.put("name", "gao");

		// 开启事务
		Transaction multi = jedis.multi();
		try {
			String jsonStr = jsonObject.toString();
			multi.set("user1", jsonStr);
			multi.set("user2", jsonStr);
			// 模拟错误
			int i = 1 / 0;
			// 执行事务
			multi.exec();
		} catch (Exception e) {
			// 放弃事务
			multi.discard();
			e.printStackTrace();
		} finally {
			System.out.println(jedis.get("user1"));
			System.out.println(jedis.get("user2"));
		}
		System.out.println("清空数据：" + jedis.flushDB());
	}
}
